package com.ztesoft.web.baseconfig.db.po;

import java.util.Date;
import java.util.List;

import org.apache.commons.lang.StringUtils;

import com.ztesoft.framework.dto.AbstractDto;
import com.ztesoft.web.common.db.po.DmIndexInfoPO;

public class DmSrcTablePO extends AbstractDto {

	private String lockMode;

	private Integer sourceDataId;
	private Integer seqNbr;
	private Integer dbLinkId;
	private TableNamePO[] tableNameArray;
	private String tableName;
	private Integer mainDataId;
	private String subFlag;
	private Integer archiveMode;
	private Integer archiveType;
	private String reverseFlag;
	private Integer oneRecordSize;
	private String keyColumn;
	private String offsetType;
	private Integer upperOffset;
	private Integer lowerOffset;
	private String selectCondition;
	private Integer staffId;
	private String state;
	private Date stateDate;
	private Date createDate;
	private String dbUserName;

	private Integer dmStrategyId;
	private Integer objectType;
	private Integer mainFlag;
	private String relsState;

	private Integer batchCommitCount;
	private Integer concurrentNumber;
	private Integer hotDataFlag;
	private Integer upperCnt;

	private Integer dmPlanId;
	private String planName;

	private Integer dmStrategyGroupNum;
	private Date expDate;

	private String subTablesStr;

	private List<DmTargetTablePO> dmTargetTableList;

	// 是否是编辑状态，前台传后台，0-新增，1-编辑
	private Integer isEdit = 0;

	// 分表数据库用户名，用于分表验证，前台传后台
	private String subDbUserName;
	// 分表数据库ID，用于分表验证，前台传后台
	private Integer subDbLinkId;
	// 分表表名，用于分表验证，后台传前台
	private TableNamePO[] subTableNameArray;
	// 分表表名，用于分表验证，前台传后台
	private String subTableName;
	// 分表的所有字段，用于分表验证，后台传前台
	private ColumnNamePO[] subAllColumns;

	// 该表的所有字段
	private ColumnNamePO[] allColumns;
	// 该表的主键字段
	private String pkColumns;
	// 分表
	private List<SubTablePO> subTables;

	// 表索引
	private List<DmIndexInfoPO> diiPOList;
	// 表索引，用于前台传递
	private String diiPOListStr;

	private String procedureName;
	private Integer procedureId;
	private String param;

	private String aliasLinkName;
	private Integer commandType;
	private String command;
	private String paramName;

	private String importCommand;
	private String exportCommand;
	private String importTable;
	private String exportTable;

	private String importCommandArea;
	private String exportCommandArea;
	private String importTableArea;
	private String exportTableArea;

	private String dbDataFlag;

	private String dbType;

	public String getDbType() {
		return dbType;
	}

	public void setDbType(String dbType) {
		this.dbType = dbType;
	}

	public String getDiiPOListStr() {
		return diiPOListStr;
	}

	public void setDiiPOListStr(String diiPOListStr) {
		this.diiPOListStr = diiPOListStr;
	}

	public List<DmIndexInfoPO> getDiiPOList() {
		return diiPOList;
	}

	public void setDiiPOList(List<DmIndexInfoPO> diiPOList) {
		this.diiPOList = diiPOList;
	}

	public Integer getIsEdit() {
		return isEdit;
	}

	public void setIsEdit(Integer isEdit) {
		this.isEdit = isEdit;
	}

	public ColumnNamePO[] getSubAllColumns() {
		return subAllColumns;
	}

	public void setSubAllColumns(ColumnNamePO[] subAllColumns) {
		this.subAllColumns = subAllColumns;
	}

	public List<DmTargetTablePO> getDmTargetTableList() {
		return dmTargetTableList;
	}

	public void setDmTargetTableList(List<DmTargetTablePO> dmTargetTableList) {
		this.dmTargetTableList = dmTargetTableList;
	}

	public Integer getConcurrentNumber() {
		return concurrentNumber;
	}

	public void setConcurrentNumber(Integer concurrentNumber) {
		this.concurrentNumber = concurrentNumber;
	}

	public String getSubDbUserName() {
		return subDbUserName;
	}

	public void setSubDbUserName(String subDbUserName) {
		this.subDbUserName = subDbUserName;
	}

	public Integer getSubDbLinkId() {
		return subDbLinkId;
	}

	public void setSubDbLinkId(Integer subDbLinkId) {
		this.subDbLinkId = subDbLinkId;
	}

	public Date getExpDate() {
		return expDate;
	}

	public void setExpDate(Date expDate) {
		this.expDate = expDate;
	}

	public Integer getDmStrategyGroupNum() {
		return dmStrategyGroupNum;
	}

	public void setDmStrategyGroupNum(Integer dmStrategyGroupNum) {
		this.dmStrategyGroupNum = dmStrategyGroupNum;
	}

	public String getPlanName() {
		return planName;
	}

	public void setPlanName(String planName) {
		this.planName = planName;
	}

	public Integer getDmPlanId() {
		return dmPlanId;
	}

	public void setDmPlanId(Integer dmPlanId) {
		this.dmPlanId = dmPlanId;
	}

	public String getDbUserName() {
		return dbUserName;
	}

	public void setDbUserName(String dbUserName) {
		this.dbUserName = dbUserName;
	}

	public String getSubTablesStr() {
		return subTablesStr;
	}

	public void setSubTablesStr(String subTablesStr) {
		this.subTablesStr = subTablesStr;
	}

	public List<SubTablePO> getSubTables() {
		return subTables;
	}

	public void setSubTables(List<SubTablePO> subTables) {
		this.subTables = subTables;
	}

	public TableNamePO[] getSubTableNameArray() {
		return subTableNameArray;
	}

	public void setSubTableNameArray(TableNamePO[] subTableNameArray) {
		this.subTableNameArray = subTableNameArray;
	}

	public String getSubTableName() {
		return subTableName;
	}

	public void setSubTableName(String subTableName) {
		this.subTableName = subTableName;
	}

	public String getPkColumns() {
		return pkColumns;
	}

	public void setPkColumns(String pKColumns) {
		pkColumns = pKColumns;
	}

	public ColumnNamePO[] getAllColumns() {
		return allColumns;
	}

	public void setAllColumns(ColumnNamePO[] allColumns) {
		this.allColumns = allColumns;
	}

	public Integer getBatchCommitCount() {
		return batchCommitCount;
	}

	public void setBatchCommitCount(Integer batchCommitCount) {
		this.batchCommitCount = batchCommitCount;
	}

	public Integer getHotDataFlag() {
		return hotDataFlag;
	}

	public void setHotDataFlag(Integer hotDataFlag) {
		this.hotDataFlag = hotDataFlag;
	}

	public Integer getUpperCnt() {
		return upperCnt;
	}

	public void setUpperCnt(Integer upperCnt) {
		this.upperCnt = upperCnt;
	}

	public Integer getSourceDataId() {
		return sourceDataId;
	}

	public void setSourceDataId(Integer sourceDataId) {
		this.sourceDataId = sourceDataId;
	}

	public Integer getSeqNbr() {
		return seqNbr;
	}

	public void setSeqNbr(Integer seqNbr) {
		this.seqNbr = seqNbr;
	}

	public Integer getDbLinkId() {
		return dbLinkId;
	}

	public void setDbLinkId(Integer dbLinkId) {
		this.dbLinkId = dbLinkId;
	}

	public TableNamePO[] getTableNameArray() {
		return tableNameArray;
	}

	public void setTableNameArray(TableNamePO[] tableNameArray) {
		this.tableNameArray = tableNameArray;
	}

	public String getTableName() {
		return tableName;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public Integer getMainDataId() {
		return mainDataId;
	}

	public void setMainDataId(Integer mainDataId) {
		this.mainDataId = mainDataId;
	}

	public String getSubFlag() {
		return StringUtils.isBlank(subFlag) ? subFlag : subFlag.trim();
	}

	public void setSubFlag(String subFlag) {
		this.subFlag = subFlag;
	}

	public Integer getArchiveMode() {
		return archiveMode;
	}

	public void setArchiveMode(Integer archiveMode) {
		this.archiveMode = archiveMode;
	}

	public Integer getArchiveType() {
		return archiveType;
	}

	public void setArchiveType(Integer archiveType) {
		this.archiveType = archiveType;
	}

	public String getReverseFlag() {
		return StringUtils.isBlank(reverseFlag) ? reverseFlag : reverseFlag.trim();
	}

	public void setReverseFlag(String reverseFlag) {
		this.reverseFlag = reverseFlag;
	}

	public Integer getOneRecordSize() {
		return oneRecordSize;
	}

	public void setOneRecordSize(Integer oneRecordSize) {
		this.oneRecordSize = oneRecordSize;
	}

	public String getKeyColumn() {
		return StringUtils.isBlank(keyColumn) ? keyColumn : keyColumn.trim();
	}

	public void setKeyColumn(String keyColumn) {
		this.keyColumn = keyColumn;
	}

	public String getOffsetType() {
		return StringUtils.isBlank(offsetType) ? offsetType : offsetType.trim();
	}

	public void setOffsetType(String offsetType) {
		this.offsetType = offsetType;
	}

	public Integer getUpperOffset() {
		return upperOffset;
	}

	public void setUpperOffset(Integer upperOffset) {
		this.upperOffset = upperOffset;
	}

	public Integer getLowerOffset() {
		return lowerOffset;
	}

	public void setLowerOffset(Integer lowerOffset) {
		this.lowerOffset = lowerOffset;
	}

	/**
	 * 查询、归档条件
	 * 
	 * @return
	 */
	public String getSelectCondition() {
		return StringUtils.isBlank(selectCondition) ? selectCondition : selectCondition.trim();
	}

	public void setSelectCondition(String selectCondition) {
		this.selectCondition = selectCondition;
	}

	public Integer getStaffId() {
		return staffId;
	}

	public void setStaffId(Integer staffId) {
		this.staffId = staffId;
	}

	public String getState() {
		return StringUtils.isBlank(state) ? state : state.trim();
	}

	public void setState(String state) {
		this.state = state;
	}

	public Date getStateDate() {
		return stateDate;
	}

	public void setStateDate(Date stateDate) {
		this.stateDate = stateDate;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Integer getDmStrategyId() {
		return dmStrategyId;
	}

	public void setDmStrategyId(Integer dmStrategyId) {
		this.dmStrategyId = dmStrategyId;
	}

	public Integer getObjectType() {
		return objectType;
	}

	public void setObjectType(Integer objectType) {
		this.objectType = objectType;
	}

	public Integer getMainFlag() {
		return mainFlag;
	}

	public void setMainFlag(Integer mainFlag) {
		this.mainFlag = mainFlag;
	}

	public String getRelsState() {
		return relsState;
	}

	public void setRelsState(String relsState) {
		this.relsState = relsState;
	}

	public String getProcedureName() {
		return procedureName;
	}

	public void setProcedureName(String procedureName) {
		this.procedureName = procedureName;
	}

	public String getParam() {
		return param;
	}

	public void setParam(String param) {
		this.param = param;
	}

	public String getAliasLinkName() {
		return aliasLinkName;
	}

	public void setAliasLinkName(String aliasLinkName) {
		this.aliasLinkName = aliasLinkName;
	}

	public Integer getCommandType() {
		return commandType;
	}

	public void setCommandType(Integer commandType) {
		this.commandType = commandType;
	}

	public String getCommand() {
		return command;
	}

	public void setCommand(String command) {
		this.command = command;
	}

	public String getParamName() {
		return paramName;
	}

	public void setParamName(String paramName) {
		this.paramName = paramName;
	}

	public Integer getProcedureId() {
		return procedureId;
	}

	public void setProcedureId(Integer procedureId) {
		this.procedureId = procedureId;
	}

	public String getImportCommand() {
		return importCommand;
	}

	public void setImportCommand(String importCommand) {
		this.importCommand = importCommand;
	}

	public String getExportCommand() {
		return exportCommand;
	}

	public void setExportCommand(String exportCommand) {
		this.exportCommand = exportCommand;
	}

	public String getDbDataFlag() {
		return dbDataFlag;
	}

	public void setDbDataFlag(String dbDataFlag) {
		this.dbDataFlag = dbDataFlag;
	}

	public String getImportTable() {
		return importTable;
	}

	public void setImportTable(String importTable) {
		this.importTable = importTable;
	}

	public String getExportTable() {
		return exportTable;
	}

	public void setExportTable(String exportTable) {
		this.exportTable = exportTable;
	}

	public String getImportCommandArea() {
		return importCommandArea;
	}

	public void setImportCommandArea(String importCommandArea) {
		this.importCommandArea = importCommandArea;
	}

	public String getExportCommandArea() {
		return exportCommandArea;
	}

	public void setExportCommandArea(String exportCommandArea) {
		this.exportCommandArea = exportCommandArea;
	}

	public String getImportTableArea() {
		return importTableArea;
	}

	public void setImportTableArea(String importTableArea) {
		this.importTableArea = importTableArea;
	}

	public String getExportTableArea() {
		return exportTableArea;
	}

	public void setExportTableArea(String exportTableArea) {
		this.exportTableArea = exportTableArea;
	}

	public String getLockMode() {
		return lockMode;
	}

	public void setLockMode(String lockMode) {
		this.lockMode = lockMode;
	}

}